FIG. 1 shows a contact center 1 for handling customer queries which are received by a company. Such systems are extremely widely used for connecting customers' calls to a group of agents who can assist the customer with their queries.
The contact center 1 comprises three main components. These are a contact center switch 2, which handles reception of calls from customers 4 and routes them to an appropriate one of the group of agents 6; a license authority 3, which manages the allocation of licenses to the group of agents 6; and a user administration server 4, which handles information about each of the group of agents 6, such as which media types they can receive queries on.
The customers 5 can connect to the contact center 1 via any of a variety of media types, such as voice (i.e. mobile or landline telephony), e-mail, hypertext transfer protocol data gathered from a website for example, instant messaging, and short messaging service (SMS).
As shown, the group of agents 6 operate in the “Front Office” of the company, which is the section or department of the company responsible for receiving and handling customer queries.
There is also a “Back Office”, which doesn't normally interact with the customers 5 or handle their queries. However, there are a group of experts 7 within the Back Office, who can be contacted by any of the group of agents 6 if the nature of a query is beyond the level of knowledge or experience of the agent. In this event, the expert will hopefully be able to assist with handling and successfully disposing of the customer's query.
The quantity of queries from customers, and the media types for the communication channels over which those queries are received, is determined by the availability of licenses from a license server, such as the license authority 3. Typically, a company will purchase a given number of licenses which are allocated as needed to the agents 6 of the contact center 1.
The manner in which the licenses are allocated in a typical scenario is in accordance with the flow chart of FIG. 2. The process of license allocation to one of the agents 6 starts when the agent attempts to login to the contact center 1 in step 10. The contact center 1 performs an authentication process on the login details provided by the agent in step 11. If the login details cannot be authenticated then the login request is refused in step 12.
If, on the other hand, the login details are determined to be valid in step 11 then, in step 13, a connection with the user administration server 4 is established and details of the media types that the agent is configured to handle are retrieved. These details are used by the contact center to determine whether a query received on a particular media type can be passed to the agent.
They are also used to attempt to acquire a license, in step 14, from the license authority 3 for each of the media types for which details were retrieved from the user administration server 4. This is done by requesting from the license authority 3 whether, for the first media type which the agent is configured to handle, a license is available in step 15. If a license is not available then all licenses already allocated (which will be none at this stage) are released in step 16 and the login is refused in step 12.
If, on the other hand, a license is available for the required media type then the license is allocated by the license authority 4 to (or “consumed by”) the agent in step 17.
In step 18, if more licenses are required by the agent for other media types then processing reverts to step 14, which attempts to acquire the license as explained above. If any one of the licenses required is not available for allocation then all licenses already allocated will be released in step 16 and the login refused in step 12.
However, if all the licenses required are successfully allocated then the login is successful in step 19. The licenses allocated in this way are not released until the agent logs out of the contact center 1, regardless of whether the agent is actively using the media type associated with a license. This, however, leads to a problem with this technique for license allocation, which will be explained by way of example below.
In the example, once the agent has logged on to the contact center 1, they are presented with customer queries or requests on the media types which they are configured to handle. Whenever a customer query or request is routed to this agent, he can communicate directly with the customer using a communication channel established via the contact center switch 2.
Whilst handling a query or request, the agent may need assistance from one of the experts 7 in the back office. The agent can connect to one of the experts 7 as appropriate and consult with them regarding the customer's query or request. This does not require allocation of any additional licenses from the license authority 3.
If he feels it is necessary, the agent may connect the customer directly to the expert via the contact center switch 2. Now the customer, agent and expert can all communicate with each other using the appropriate media type. However, this again does not consume any additional licenses from the license authority 3.
If the agent feels that he is no longer required to handle the customer's request or query then he may decide to leave the further handling and disposal of the customer's request or query to the expert and move on to a new request. Thus, the expert and customer are now connected via the contact center switch 2, which is being utilized without any licenses being allocated for the establishment of the communication channel via the contact center switch 2.
As can be seen, the current technique for allocation of licenses in a contact center environment does not adapt well to situations such as that given as an example above, and can result in the contact center being utilized without any license allocation at all. This can lead to situations where the contact center switch's capacity is achieved even though all the licenses have not been used.